import wx from 'weixin-js-sdk'
import Axios from '../api/http'
import config from '../api/config'
import ApiModel from '../api/apiModel/apiModel'

export function hideShare(r) {
  const url = encodeURIComponent(window.location.href.split('#')[0])
  Axios.get(
    'https://api-wechat-service.putao.com/jsdk/config?appid=' +
      config.appid +
      '&debug=true&url=' +
      url
  )
    .then((res) => {
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: res.data.data.appId, // 必填，公众号的唯一标识
        timestamp: res.data.data.timestamp, // 必填，生成签名的时间戳
        nonceStr: res.data.data.nonceStr, // 必填，生成签名的随机串
        signature: res.data.data.signature, // 必填，签名，见附录1
        jsApiList: ['hideMenuItems'], // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
      })
      wx.ready(function () {
        wx.hideMenuItems({
          menuList: [
            'menuItem:share:appMessage',
            'menuItem:share:timeline',
            'menuItem:share:qq',
            'menuItem:share:weiboApp',
            'menuItem:share:weiboApp',
            'menuItem:share:facebook',
            'menuItem:share:QZone',
          ], // 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
        })
      })
    })
    .catch((err) => {
      console.log(`${err}`)
    })
}
export function setShare(options) {
  const url = encodeURIComponent(window.location.href.split('#')[0])
  Axios.get(
    'https://api-wechat-service.putao.com/jsdk/config?appid=' +
      config.appid +
      '&debug=true&url=' +
      url
  )
    .then((res) => {
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: res.data.data.appId, // 必填，公众号的唯一标识
        timestamp: res.data.data.timestamp, // 必填，生成签名的时间戳
        nonceStr: res.data.data.nonceStr, // 必填，生成签名的随机串
        signature: res.data.data.signature, // 必填，签名，见附录1
        jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline'], // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
      })
    })
    .catch((err) => {
      console.log(`${err}`)
    })

  wx.ready(() => {
    wx.onMenuShareAppMessage({
      title: options.title, // 分享标题
      desc: options.desc, // 分享描述
      link: options.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: options.imgUrl, // 分享图标
      type: '', // 分享类型,music、video或link，不填默认为link
      dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
      success: function () {
        // 用户确认分享后执行的回调函数
      },
      cancel: function () {
        // 用户取消分享后执行的回调函数
      },
    })

    // 分享到朋友圈
    wx.onMenuShareTimeline({
      title: options.title, // 分享标题
      link: options.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: options.imgUrl, // 分享图标
      success: function () {
        // 用户确认分享后执行的回调函数
      },
      cancel: function () {
        // 用户取消分享后执行的回调函数
      },
    })
  })
}

export function newStShare() {
  ApiModel.setWxShare().then((res) => {
    console.log(res)
    if (res.code === 0) {
      let { desc, img_url, link, title } = res.data
      wx.ready(() => {
        wx.onMenuShareAppMessage({
          title, // 分享标题
          desc, // 分享描述
          link,
          imgUrl: img_url, // 分享图标
          type: '', // 分享类型,music、video或link，不填默认为link
          dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
          success: function () {
            // 用户确认分享后执行的回调函数
          },
          cancel: function () {
            // 用户取消分享后执行的回调函数
          },
        })

        // 分享到朋友圈
        wx.onMenuShareTimeline({
          title,
          link,
          imgUrl: img_url, // 分享图标
          success: function () {
            // 用户确认分享后执行的回调函数
          },
          cancel: function () {
            // 用户取消分享后执行的回调函数
          },
        })
      })
    } else {
      hideShare()
    }
  })
}
